Determining location and ground speed in a vehicle is difficult when a point of reference is indeterminable. However, navigation systems now utilize the assistance of global positioning systems for a reference point. In some cases, GPS is unavailable and/or too slow, and the navigation systems are self-reliant. Such systems often utilize a set of gyroscopes to measure the angular velocity and the linear acceleration. This was originally achieved through a motorized gimbal system, using the navigation frame as a set reference frame that is based on the vehicle in which the system is located.
Such a system includes many expensive mechanical parts to ensure proper movement and includes sensors (e.g., accelerometers and gyroscopes) at each of the gimbals for measuring changes in attitude, i.e., where is the orientation of a vehicle in terms of angular parameters of roll, pitch and yaw. Due to the moving parts, gimbaled systems are prone to many error inducing factors, such as gimbal lock, which occurs when two of the gimbals are rotating uniformly in parallel. In addition, bearings and rings of the of the gimbals can stick and/or wear with time. Even more, the bearings are not frictionless, which also causes error in the measurements. When the system experiences errors, it can be removed from the vehicle and recalibrated in very specific conditions before certification for re-use. Accordingly, such a system is only conducive to a very specific market of consumers.
Strapdown inertial navigation systems (SINS) have components that are directly attached to the chassis of the system. The chassis is also secured to the vehicle in which it is located. Accordingly, no parts of the system are mobile. This alleviates error caused by friction and/or faulty components, while also requiring less calibration. Three sensors measure the linear acceleration rate (aSFB) and three sensors measure the angular rotation rate (ωIBB). A velocity update rate (e.g., m) is an interval utilized to perform calculations on raw measurements taken by the accelerometers and gyroscopes, and incrementally update system parameters (e.g., attitude, velocity, position, etc.) over a specified time period. For example, the update rate can be one system computer clock cycle. The raw measurements are taken rapidly over a time interval, t, and processed by a software solution on a computing device due to the high computation load of the calculations.
The sensors provide raw data relating to the non-gravitational acceleration, or specific force, given in vector form and the data is transformed into a reference frame with respect to the instantaneous vehicle attitude of three orthogonal vector components. The reference frame, B, is vehicle body orientation at a time t equaling to tm−1 (i.e., t=tm−1), which is the vehicle body orientation measured during a previous update cycle at rate m. For example, the raw measurements are updated at a rate m, so the vehicle body orientation at the present time t is calculated with the raw measurements taken during a prior update cycle (m−1), as the measurements during the present update cycle (i.e., t=tm) are being taken and calculated for the vehicle body orientation in relation to the original reference frame B. Each movement detected in the system is calculated based on the present vehicle body orientation in relation to the orientation during the prior reference frame B. The three orthogonal vector components of the raw measurements provided by the sensors are given in a set of direction cosines, or quarternions which describe the spatial orientation and movement of the vehicle in terms of roll, pitch and direction. P. G. Savage, “Strapdown Inertial Navigation Integration Algorithm Design Part 2: Velocity and Position Algorithms” Journal of Guidance, Control, and Dynamics, vol 21, No. 2, 1998, pp. 208-221; and “Strapdown System Algorithms” Advances in Strapdown Inertial Systems, NATO AGARD Lecture Series No. 133, May 1984, represents the velocity algorithm in the strapdown system in analytical form as:
                              Δ          ⁢                                          ⁢                      v                          SF              m                                      B                              m                -                1                                                    =                                            ∫                              t                                  m                  -                  1                                                            t                m                                      ⁢                                          C                                  B                  m                                                  B                                      m                    -                    1                                                              ⁢                              a                SF                B                            ⁢                              ⅆ                t                                              =                                    ∫                              t                m                                            t                                  m                  -                  1                                                      ⁢                                          [                                                                                                    I                        +                                                                                                            sin                              ⁢                                                                                                                                ϕ                                  ⁡                                                                      (                                    t                                    )                                                                                                                                                                                                                                                                                    ϕ                                ⁡                                                                  (                                  t                                  )                                                                                                                                                                            ⁢                                                      (                                                                                          ϕ                                ⁡                                                                  (                                  t                                  )                                                                                            ×                                                        )                                                                          +                                                                                                                                                                                                      1                            -                                                          cos                              ⁡                                                              (                                                                  ϕ                                  ⁡                                                                      (                                    t                                    )                                                                                                  )                                                                                                                                                                                                                                      ϕ                                ⁡                                                                  (                                  t                                  )                                                                                                                                                    2                                                                          ⁢                                                                              (                                                                                          ϕ                                ⁡                                                                  (                                  t                                  )                                                                                            ×                                                        )                                                    2                                                                                                                    ]                            ⁢                              a                SF                B                            ⁢                              ⅆ                t                                                                        (        1        )            where: ΔvSFmBm−1 i is velocity change over a time interval tm −1 to tm caused by a specific force (SF) in a body coordinate frame Bm−1;                Bm−1 is the body coordinate frame Bm with axes parallel to nominal right handed orthogonal sensor input axes at time tm−1;        aSFB is the accelerometer measured specific force (SF) in the body coordinate frame Bm−1;        CBmBm−1 is the direction cosine matrix from body coordinate frame Bm to Bm−1; and        φ(t) is a rotation vector which defines the general orientation of frame Bm relative to frame Bm −1 at a time greater than tm−1:Equation 1 is approximated to a first order to:        
                                          Δ            ⁢                                                  ⁢                          v                              SF                m                                            B                                  m                  -                  1                                                              =                                    v              m                        +                                          1                2                            ⁢                              α                m                            ×                              v                m                                      +                                          1                2                            ⁢                                                ∫                                      t                                          m                      -                      1                                                                            t                    m                                                  ⁢                                                      (                                                                                            α                          ⁡                                                      (                            t                            )                                                                          ×                                                  a                          SF                          B                                                                    +                                                                        v                          ⁡                                                      (                            t                            )                                                                          ×                                                  ω                          IB                          B                                                                                      )                                    ⁢                                      ⅆ                    t                                                                                      ,                                  ⁢                  Where          ⁢                      :                                              (        4        )                                                      v            ⁡                          (              t              )                                =                                    ∫                              t                                  m                  -                  1                                                            t                m                                      ⁢                                          a                SF                B                            ⁢                              ⅆ                τ                                                    ,                              v            ⁡                          (              m              )                                =                      v            ⁡                          (                              t                =                                  t                  m                                            )                                                          (        5        )                            ωIBB is the measured angular rotation rate provided by the gyroscopes.Further expansion of the cross product yields:        
                                          Δ            ⁢                                                  ⁢                          v                              SF                m                                            B                                  m                  -                  1                                                              =                                    ∫                              t                                  m                  -                  1                                                            t                m                                      ⁢                                          [                                  I                  +                                      (                                                                  α                        ⁡                                                  (                          t                          )                                                                    ×                                        )                                                  ]                            ⁢                              a                SF                B                            ⁢                              ⅆ                t                                                    ⁢                                  ⁢                  where          ⁢                      :                                              (        2        )                                                      α            ⁡                          (              t              )                                =                                    ∫                              t                                  m                  -                  1                                            t                        ⁢                                          ω                IB                B                            ⁢                              ⅆ                τ                                                    ,                                            α              ⁡                              (                m                )                                      =                          α              ⁡                              (                                  t                  =                                      t                    m                                                  )                                              ;          and                                    (        3        )            
After these components are transformed into a coordinate reference frame (e.g., B) through the direction cosine matrix CBmBm−1, a resultant non-gravitational acceleration in terms of the reference frame is yielded. The integration of the resultant non-gravitational acceleration reflects the change in the spatial orientation and movement of the vehicle from its original position. Accordingly, by calculating the difference from the known original attitude, position and speed, the current attitude, position and speed is determined.
Specifically, to compute the approximate speed of a vehicle, the error in the system can also be factored into the overall measurements. The error is represented by the third term of equation (4). This error is known as the sculling error, or compensation, and it can be used to aid in maintaining velocity accuracy in a highly dynamic environment. Accordingly, equation (4) is simplified as:ΔvSFBm−1=vm+Δvrotm+Δvscalm=vm+Δvrot/sculm,   (6)    where: Δvrotm is the velocity rotation compensation, or a change in the velocity due to rotational movement of the vehicle at update cycle m; and            Δvsculm is the sculling compensation, or a change in the velocity due to sculling movement of the vehicle at update cycle m.        
A sculling error is a result of the apparent and constant acceleration experienced by the SINS, which is often caused by vibrations and other factors causing sensor errors. The sculling error is periodic in nature and, thus, can be miscalculated if the measurements in transform functions are erroneous.
The aforementioned known method for computing the measured accelerations and rotations in the art is disclosed by P. G. Savage, “Strapdown Inertial Navigation Integration Algorithm Design Part 2: Velocity and Position Algorithms” Journal of Guidance, Control, and Dynamics, vol 21, No. 2, 1998, pp. 208-221; and “Strapdown System Algorithms” Advances in Strapdown Inertial Systems, NATO AGARD Lecture Series No. 133, May 1984. Savage further provides two analytical forms to describe the velocity and sculling compensation of equation 6. The two analytical forms properly account for a sculling compensation within the calculation of the overall change in velocity ΔvSFBm−1 of a strapdown system. The calculation of the two analytical forms can be implemented in software. A first analytical form provides a singular term representing a velocity rotation compensation, which is a cross product of the integral of change in the angular rotation rate (i.e., angular acceleration) at cycle m and the integral of the change in the linear acceleration rate (i.e., velocity) of the body at cycle m:Δvrotm=½αm×vm   (7)
A second analytical form provides two terms describing the sculling compensation in the form of integrals, the calculations of which are based on the velocity rotation compensation. In both analytical forms, the velocity compensation is calculated at the velocity update sampling rate, or cycle rate (e.g., 50 Hz) as it aids in determining the velocity update. However, Savage discusses that in the second analytical form, having two terms, the sculling compensation is integrated at a different rate (e.g., l), which is preferably a faster cycle rate than the velocity update rate m. Accordingly, the sculling error may then be computed and updated several times during a velocity update rate interval. Savage represents this computation as a digital recursive algorithm for the sculling compensation terms in the following analytical form:
                                          Δ            ⁢                                                  ⁢                          α              l                                =                                    ∫                              t                                  l                  -                  1                                                            t                l                                      ⁢                                          ω                IB                B                            ⁢                              ⅆ                t                                                    ,                              α            l                    =                                    α                              l                -                1                                      +                          Δ              ⁢                                                          ⁢                              α                l                                                    ,                              α            m                    =                                    α              l                        ⁡                          (                                                t                  l                                =                                  t                  m                                            )                                      ,                                  ⁢                              α            l                    =                                    0              ⁢                                                          ⁢              at              ⁢                                                          ⁢              t                        =                          t                              m                -                1                                                                        (        8        )                                                      Δ            ⁢                                                  ⁢                          v              l                                =                                    ∫                              t                                  l                  -                  1                                                            t                l                                      ⁢                                          a                SF                B                            ⁢                              ⅆ                t                                                    ,                              v            l                    =                                    v                              l                -                1                                      +                          Δ              ⁢                                                          ⁢                              v                l                                                    ,                              v            m                    =                                    v              l                        ⁡                          (                                                t                  l                                =                                  t                  m                                            )                                      ,                                  ⁢                              v            l                    =                                    0              ⁢                                                          ⁢              at              ⁢                                                          ⁢              t                        =                          t                              m                -                1                                                                        (        9        )                                                      δ            ⁢                                                  ⁢                          v                              scul                l                                              =                                    1              2                        ⁡                          [                                                                    (                                                                  α                                                  l                          -                          1                                                                    +                                                                        1                          6                                                ⁢                        Δ                        ⁢                                                                                                  ⁢                                                  α                                                      l                            -                            1                                                                                                                )                                    ×                  Δ                  ⁢                                                                          ⁢                                      v                    l                                                  +                                                      (                                                                  v                                                  l                          -                          1                                                                    +                                                                        1                          6                                                ⁢                        Δ                        ⁢                                                                                                  ⁢                                                  v                                                      l                            -                            1                                                                                                                )                                    ×                  Δ                  ⁢                                                                          ⁢                                      α                    l                                                              ]                                      ⁢                                  ⁢                                            Δ              ⁢                                                          ⁢                              v                                  scul                  l                                                      =                                          Δ                ⁢                                                                  ⁢                                  v                                      scul                                          l                      -                      1                                                                                  +                              δ                ⁢                                                                  ⁢                                  v                                      scul                    l                                                                                ,                                    Δ              ⁢                                                          ⁢                              v                                  scul                  m                                                      =                          Δ              ⁢                                                          ⁢                                                v                                      scul                    l                                                  ⁡                                  (                                      t                    =                                          t                      m                                                        )                                                              ,                                          ⁢                                    Δ              ⁢                                                          ⁢                              v                                  scul                  l                                                      =                                          0                ⁢                                                                  ⁢                at                ⁢                                                                  ⁢                t                            =                              t                                  m                  -                  1                                                                                        (        10        )            
Accordingly, this method relies on two computational rates (m, l) at which the system's raw measurements are calculated. Having these two rates greatly increase the computational load of the system compared to a system calculated at just the velocity update rate because with two cycle rates the raw measurements must be separately calculated and the combined.
In another approach to more accurately calculate the sculling error within a system, M. B. Ignagni “Duality of Optimal Strapdown Sculling and Coning Compensation Algorithms” Journal of the Institute of Navigation, Vol. 45, No.2, 1998, pp. 85-95, discusses a method of utilizing coefficients in a set of algorithms. These coefficient algorithms are utilized to factor the system's inherent errors, such as system platform vibrations, in different system environments. Accordingly, Ignagni discusses a specific set of coefficient algorithms to address each of these problems. The coefficient algorithms correspond to defined ratios of fast and slow rates. Due to the specific nature of these coefficients, not all ratios of fast and slow rates are possible. For instance, ratios such as l/m=7 or l/m>10 are not computationally possible with the method provided by Ignagni. Additionally, the technique provided by Ignagni does not improve upon the large computational load of the technique discussed in Savage.
Calculating an incorrect sculling compensation during even one interval (e.g., system clock cycle) can be detrimental to an inertial navigation system, as the algorithm is recursive and prior calculations provide the basis for the proximate calculations (see, equations 8-10). Slight offsets in the system and consequent miscalculations may trigger faulty readings. Several techniques, such as those by Savage and Ignagni, have been developed to account for these defects within the system in order for a proper sculling compensation, or error, to be calculated and removed from the raw measurements taken by the system. These calculations add to the processing load, which inherently adds to the system size (i.e., larger processor). However, both an increased load and system size are undesirable in a navigation system.